class PageModel {
  public count: number;
  public first: boolean;
  public hasNext: boolean;
  public hasPrevious: boolean;
  public last: boolean;
  public pageNumber: number;
  public pageSize: number;
  public totalPage: number;
  public totalElements: number;
}

class ListModel {
  public count: number;
}

interface ListInterFace<T> {
  count: number
  items: T[]
}

interface PageListInterface<T> {
  first: boolean;
  hasNext: boolean;
  hasPrevious: boolean;
  last: boolean;
  pageNumber: number;
  pageSize: number;
  totalPage: number;
  totalElements: number;
  data: ListInterFace<T>
}

export {
  PageModel,
  ListModel,
  ListInterFace,
  PageListInterface
};
